/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package formula.one.urjc.dueño.controlador;

import formula.one.urjc.Metodos;
import formula.one.urjc.dueño.view.VentanaDueñoEscuderia;
import formula.one.urjc.dueño.view.ventanaAviso;
import formula.one.urjc.escuderia.Escuderia;



/**
 *
 * @author Javier Aparicio García
 */
public class DueñoEscuderiaContolador{

    private VentanaDueñoEscuderia vista;
    private Metodos modelo;
    private Escuderia escuderia;
    
    //constructor con todas sus características
    public DueñoEscuderiaContolador(Metodos modelo, Escuderia escuderia) {
        this.vista = new VentanaDueñoEscuderia();
        this.modelo = modelo;
        this.escuderia = escuderia;
       
    }
    
    
    //método para mostra la pantalla
    public VentanaDueñoEscuderia mostrarPantalla(){
        //aplico las propiedades a la vantana
        //que aparezca en el centro de l apantalla
        //vista.setLocationRelativeTo(null);
        //que no se pueda cambiar el tamaño
        vista.setResizable(false);
        // que se muestre
        vista.setVisible(true);
        //cargo los datos de la escuderias correspondiente
        cargarDatosEscuderia();
       
        return vista;
        
    }
    
    public void cargarDatosEscuderia(){
        vista.getjTextNombre().setText(escuderia.getNombre());
        vista.getjTextPropietario().setText(escuderia.getPropietario());
        vista.getjTextPais().setText(escuderia.getPais());
        vista.getjTextAnyo().setText(Integer.toString(escuderia.getAnyoFundacion()));
        vista.getjTextPresupuesto().setText(String.format("%.1f",escuderia.getPresupuesto()));
        vista.getjTextDiectivos().setText(escuderia.getDirectivos());
        
        vista.getModelListPiltotosOficiales().clear();
        cargarPilotosOficiales();
        
        vista.getModelListPiltotosProbadores().clear();
        cargarPiltosProbadores();
        
        vista.getModelListCoches().clear();
        cargarCoches();
        
        vista.getModelListCompeticion().clear();
        cargarEquiposCompetidores(); 
        
         
    }
    //método que carga los pilotos oficiales en la vista
    private void cargarPilotosOficiales(){
         //cargo los pilotos Oficiales
        if(escuderia.getPilotosOficiales()!=null && escuderia.getPilotosOficiales().size()>0){
            //cargo los pilotos oficiales
            for(int i=0;i<escuderia.getPilotosOficiales().size();i++){
                vista.getModelListPiltotosOficiales().addElement(escuderia.getPilotosOficiales().get(i).resumeToString());
            }
            vista.getjListPilotOfic().setModel(vista.getModelListPiltotosOficiales());
            
        }else{
            //muestro un mensaje de advertencia para que fiche un piloto oficial
            ventanaAviso.mostrarAviso(vista, "Debe de fichar un Piloto Oficial para poder competir", "WARNING");
            
        }
    }
    //método que carga los pilotos probadores en la lista
    private void cargarPiltosProbadores() {
       //cargo los pilotos probadores
        for(int i=0;i<escuderia.getPilotosProbadores().size();i++){
                vista.getModelListPiltotosProbadores().addElement(escuderia.getPilotosProbadores().get(i).resumeToString());
            }
         vista.getjListPilotProb().setModel(vista.getModelListPiltotosProbadores());
    }
    //método que carga los coches de la escudería
    private void cargarCoches() {
       //cargo los coches
         for(int i=0;i<escuderia.getCoches().length;i++){
             if(escuderia.getCoches()[i]!=null){
                 vista.getModelListCoches().addElement(escuderia.getCoches()[i].resumeToString());
             }
         }
         vista.getjListCoches().setModel(vista.getModelListCoches());
    }
    
    //método que carga los equipos de competición de la esccudería
    private void cargarEquiposCompetidores() {
       //cargo los equipos
         for (int i=0;i<escuderia.getListaCompetidores().size();i++){
             vista.getModelListCompeticion().addElement(escuderia.getListaCompetidores().get(i).getCoche().getModelo()+ "-"+escuderia.getListaCompetidores().get(i).getPiloto().getNombre());
         }
         vista.getjListEquipos().setModel(vista.getModelListCompeticion());
    }  
    
}
